package com.wyw.function.learning.demo3;

/**
 * @Title   Lambda表达式允许你直接以内联的形式为函数式接口的抽象方法实现
 * @Description     具体的说就是，是函数式接口一个具体实现的实例。
 *                  使用匿名内部类也可以完成这种操作，但是比较笨拙：需要提供一个实现，然后在直接内联将其实例化。
 *                  内联可以理解为匿名。
 * @Author Mr Wu yewen.wu.china@gmail.com
 * Update History:
 * Author        Time            Content
 */
public class DemoClient5 {

    public static void main(String[] args) {
        Runnable r1 = () -> System.out.println("Demo Client5 main");

        Runnable r2 = new Runnable() {
            @Override
            public void run() {
                System.out.println("Demo Client5 run");
            }
        };

        process(r1);
        process(r2);
        process(() -> System.out.println("Demo Client5 main1"));

    }

    private static void process (Runnable r) {
        r.run();
    }

}
